package com.tms.operation.domain;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 运单对象 tms_operation
 *
 * @author ruoyi
 * @date 2024-10-25
 */
public class TmsOperation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 运单号 */
    @Excel(name = "运单号")
    private String waybillNumber;

    /** 始发地 */
    @Excel(name = "始发地")
    private String departure;

    /** 目的地 */
    @Excel(name = "目的地")
    private String destination;

    /** 运单状态 */
    @Excel(name = "运单状态")
    private String waybillStatus;

    /** 运输方式 */
    @Excel(name = "运输方式")
    private String transportMode;

    /** 承运商 */
    @Excel(name = "承运商")
    private String carrier;

    /** 司机 */
    @Excel(name = "司机")
    private String driver;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phoneNumber;

    /** 车牌号 */
    @Excel(name = "车牌号")
    private String licensePlate;

    /** 车型 */
    @Excel(name = "车型")
    private String vehicleType;

    /** 车长 */
    @Excel(name = "车长")
    private String vehicleLength;

    /** 计费方式 */
    @Excel(name = "计费方式")
    private String billingMethod;

    /** 运费合集 */
    @Excel(name = "运费合集")
    private BigDecimal freightTotal;

    /** 计划发车时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划发车时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date plannedDepartureTime;

    /** 实际发车时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际发车时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualDepartureTime;

    /** 计划到达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划到达时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date plannedArrivalTime;

    /** 接单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "接单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderAcceptTime;

    /** 下单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderCreateTime;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getWaybillNumber() {
        return waybillNumber;
    }

    public void setWaybillNumber(String waybillNumber) {
        this.waybillNumber = waybillNumber;
    }

    public String getDeparture() {
        return departure;
    }

    public void setDeparture(String departure) {
        this.departure = departure;
    }

    public String getDestination() {
        return destination;
    }

    public void setDestination(String destination) {
        this.destination = destination;
    }

    public String getWaybillStatus() {
        return waybillStatus;
    }

    public void setWaybillStatus(String waybillStatus) {
        this.waybillStatus = waybillStatus;
    }

    public String getTransportMode() {
        return transportMode;
    }

    public void setTransportMode(String transportMode) {
        this.transportMode = transportMode;
    }

    public String getCarrier() {
        return carrier;
    }

    public void setCarrier(String carrier) {
        this.carrier = carrier;
    }

    public String getDriver() {
        return driver;
    }

    public void setDriver(String driver) {
        this.driver = driver;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getLicensePlate() {
        return licensePlate;
    }

    public void setLicensePlate(String licensePlate) {
        this.licensePlate = licensePlate;
    }

    public String getVehicleType() {
        return vehicleType;
    }

    public void setVehicleType(String vehicleType) {
        this.vehicleType = vehicleType;
    }

    public String getVehicleLength() {
        return vehicleLength;
    }

    public void setVehicleLength(String vehicleLength) {
        this.vehicleLength = vehicleLength;
    }

    public String getBillingMethod() {
        return billingMethod;
    }

    public void setBillingMethod(String billingMethod) {
        this.billingMethod = billingMethod;
    }

    public BigDecimal getFreightTotal() {
        return freightTotal;
    }

    public void setFreightTotal(BigDecimal freightTotal) {
        this.freightTotal = freightTotal;
    }

    public Date getPlannedDepartureTime() {
        return plannedDepartureTime;
    }

    public void setPlannedDepartureTime(Date plannedDepartureTime) {
        this.plannedDepartureTime = plannedDepartureTime;
    }

    public Date getActualDepartureTime() {
        return actualDepartureTime;
    }

    public void setActualDepartureTime(Date actualDepartureTime) {
        this.actualDepartureTime = actualDepartureTime;
    }

    public Date getPlannedArrivalTime() {
        return plannedArrivalTime;
    }

    public void setPlannedArrivalTime(Date plannedArrivalTime) {
        this.plannedArrivalTime = plannedArrivalTime;
    }

    public Date getOrderAcceptTime() {
        return orderAcceptTime;
    }

    public void setOrderAcceptTime(Date orderAcceptTime) {
        this.orderAcceptTime = orderAcceptTime;
    }

    public Date getOrderCreateTime() {
        return orderCreateTime;
    }

    public void setOrderCreateTime(Date orderCreateTime) {
        this.orderCreateTime = orderCreateTime;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public TmsOperation() {
    }

    public TmsOperation(Long id, String waybillNumber, String departure, String destination, String waybillStatus, String transportMode, String carrier, String driver, String phoneNumber, String licensePlate, String vehicleType, String vehicleLength, String billingMethod, BigDecimal freightTotal, Date plannedDepartureTime, Date actualDepartureTime, Date plannedArrivalTime, Date orderAcceptTime, Date orderCreateTime, String createdBy, Date createdTime) {
        this.id = id;
        this.waybillNumber = waybillNumber;
        this.departure = departure;
        this.destination = destination;
        this.waybillStatus = waybillStatus;
        this.transportMode = transportMode;
        this.carrier = carrier;
        this.driver = driver;
        this.phoneNumber = phoneNumber;
        this.licensePlate = licensePlate;
        this.vehicleType = vehicleType;
        this.vehicleLength = vehicleLength;
        this.billingMethod = billingMethod;
        this.freightTotal = freightTotal;
        this.plannedDepartureTime = plannedDepartureTime;
        this.actualDepartureTime = actualDepartureTime;
        this.plannedArrivalTime = plannedArrivalTime;
        this.orderAcceptTime = orderAcceptTime;
        this.orderCreateTime = orderCreateTime;
        this.createdBy = createdBy;
        this.createdTime = createdTime;
    }
}
